package com.yungu.swift.order.model.param;

import com.yungu.swift.base.model.admin.AdminParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 后台新建订单订单入参
 *
 * @author Zerrion
 * @date 2017/3/6
 */
@Data
public class AdminOrderParam extends AdminParam {

    /**
     * 作为订单呼叫参数的缓存唯一标识。重新叫车可通过该Uuid重新叫车
     */
    @ApiModelProperty("订单 uuid")
    private String orderUuid;

    @ApiModelProperty(value = "订单行程类型（1：用车，2：日租，3：半日租，4：送机，5：接机）", example = "0")
    private Integer typeTrip;

    @ApiModelProperty(value = "订单时效类型（1：实时，2：预约）", example = "0")
    private Integer typeTime;

    @ApiModelProperty(value = "订单类型 1 出租 2 专车 3 跨城 4 快车", example = "0")
    private Integer typeModule;

    @ApiModelProperty("订单 uuid")
    private String passengerMobile;

    @ApiModelProperty("乘客姓名")
    private String passengerName;

    @ApiModelProperty(value = "预估里程费用", example = "0.0")
    private Double planTripFare;

    @ApiModelProperty(value = "优惠券抵扣", example = "0.0")
    private Double planCouponFare;

    @ApiModelProperty(value = "预估里程", example = "0.0")
    private Double planTrip;

    @ApiModelProperty(value = "预估价格", example = "0.0")
    private Double planFare;

    @ApiModelProperty("出发时间")
    private Date departTime;

    @ApiModelProperty("出发地")
    private String originAddress;

    @ApiModelProperty("出发地具体地址")
    private String originAddressDetail;

    @ApiModelProperty("出发城市")
    private String originCity;

    @ApiModelProperty(value = "出发经度", example = "0.000")
    private Double originLng;

    @ApiModelProperty(value = "出发纬度", example = "0.000")
    private Double originLat;

    @ApiModelProperty("目的地")
    private String destAddress;

    @ApiModelProperty("目的地具体地址")
    private String destAddressDetail;

    @ApiModelProperty("目的地城市")
    private String destCity;

    @ApiModelProperty(value = "目的地经度", example = "0.000")
    private Double destLng;

    @ApiModelProperty(value = "目的地纬度", example = "0.000")
    private Double destLat;

    @ApiModelProperty("计价规则 uuid")
    private String fareRuleUuid;

    @ApiModelProperty("订单备注")
    private String remark;

    @ApiModelProperty(value = "额外小费", example = "0.0")
    private Double serviceFare;

    @ApiModelProperty(value = "呼叫类型", example = "0")
    private Integer callType;

    @ApiModelProperty("出发区域 adcode")
    private String originAreaCode;

    @ApiModelProperty("乘客下单经度")
    private String passengerLng;

    @ApiModelProperty("乘客下单纬度")
    private String passengerLat;

    @ApiModelProperty(value = "预估时长", example = "0")
    private Integer planDuration;

    @ApiModelProperty(value = "订单座位数", example = "0")
    private Integer seatNum;

    @ApiModelProperty("乘客发单IP地址")
    private String passengerIp;

    @ApiModelProperty("乘客发单端口号")
    private Integer passengerPort;

    @ApiModelProperty("乘客发单IMEI")
    private String passengerImei;

    @ApiModelProperty("乘客发单MAC地址")
    private String passengerMac;
}
